package com.kuaiyin.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kuaiyin.dto.TestCaseDTO;
import com.kuaiyin.entity.TestCase;
import com.kuaiyin.utils.PageResult;
import com.kuaiyin.vo.TestCaseVO;

import java.util.List;
import java.util.Map;
import java.util.function.Consumer;

/**
 * <p>
 * 测试用例表（assertions可选） 服务类
 * </p>
 *
 * @author ng
 * @since 2025-04-27
 */
public interface ITestCaseService extends IService<TestCase> {

    void savaTestCase(TestCaseDTO testCaseDTO);

    TestCaseVO getById(Long id);

    void runTestCase(Long id);

    void removeById(Long id);

    void updateTestCase(Long id, TestCaseDTO testCaseDTO);

    List<TestCaseVO> getTestCaseList();

    PageResult<TestCaseVO> getTestCasePage(Integer page, Integer size, Consumer<LambdaQueryWrapper<TestCase>> condition);

    void updateTestCaseStatus(Long id, Integer status);

    Map<String, String> getCase(Long id);

}
